// pagesEnterprise/pages/publishJob/publishJob.js
import ajax from "../../../utils/index"
const salaryStart = [], salaryEnd = []
for (let i = 0; i < 250; i++) {
  const index = i + 1
  salaryStart.push(index)
  salaryEnd.push(`${index}K`)
}
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /*** 
     * 学历选择数组
     */
    educationList: ['不限', '初中', '高中', '专科', '本科', '研究生', '硕士', '博士'],
    /*** 
     * 工作经验选择数组
     */
    experienceList: ['不限', '1年以内', '1-3年', '3-5年', '5-10年', '10年以上'],
    /*** 
     * 薪资范围
     */
    salaryList: salaryStart,
    salaryEndList: salaryEnd,
    /**
     * 步骤
     */
    steps: 1,
    /**
     * 表单数据
     */
    formData: {
      id: '',  // 主键
      jobs: '',  // 职位名称
      jobsDescribe: '',  // 职位描述
      address: '', //工作地点
      education: '',  // 学历
      experience: '',  // 工作经验
      salary: '',  // 薪资
      awardMoney: null, // 推荐人奖金
    },
    /**
     * 详情id
     */
    detailId: null,
    /**
     * 禁用input
     */
    disabled: false
  },
  /**
   * 输入框 赋值事件
   */
  formChange(event) {
    const { formData } = this.data, key = event.currentTarget.dataset.key
    formData[key] = event.detail
    this.setData({ formData })
  },
  /**
   * 选择框 赋值事件
   */
  pickerConfirm(event) {
    console.log('pickerConfirm', event)
    const key = event.currentTarget.dataset.key, entity = event.detail
    const { formData } = this.data
    formData[key] = key == "salary" ? entity.valueList.join('') : entity.startValue
    console.log('formData[key]', formData[key])
    this.setData({ formData })
  },
  /**
   * 提交事件
   */
  submit() {
    let { steps, formData } = this.data
    const { jobs, address, jobsDescribe, education, experience, salary } = formData
    if (steps == 1) {
      if (!jobs) return ajax.showToast('请填写职位名称')
      if (!jobsDescribe) return ajax.showToast('请填写职位描述')
      if (!address) return ajax.showToast('请填写工作地点')
      return this.setData({ steps: 2 })
    }
    if (!experience) return ajax.showToast('请选择经验要求')
    if (!education) return ajax.showToast('请选择学历要求')
    if (!salary) return ajax.showToast('请选择薪资范围')
    this.data.detailId ? this.setJobsUpdate() : this.setJobsAdd()
  },
  /**
   * 添加岗位
   */
  async setJobsAdd() {
    const formData = JSON.parse(JSON.stringify(this.data.formData))
    ajax.showLoading()
    await ajax.post('/enterpriseservice/recruit/jobs/add', formData).finally(() => wx.hideLoading());
    await ajax.showSuccess('发布成功')
    wx.navigateBack()
  },
  /**
   * 修改岗位
   */
  async setJobsUpdate () {
    const formData = JSON.parse(JSON.stringify(this.data.formData))
    ajax.showLoading()
    await ajax.post('/enterpriseservice/recruit/jobs/updateJobs', formData).finally(() => wx.hideLoading());
    await ajax.showSuccess('修改成功')
    wx.navigateBack()
  },
  /**
   * 获取详情
   */
  async getDetail() {
    ajax.showLoading()
    const res = await ajax.get('/enterpriseservice/recruit/jobs/info', { id: this.data.detailId }).finally(() => wx.hideLoading());
    console.log("getDetail", res)
    this.setData({formData: res.data, disabled: true})
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({ detailId: options.detailId || null })
    if (this.data.detailId) this.getDetail();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})